A television service operator delivers television services to its subscribers. The service operator provides a set top box to the subscriber in order to decode a transmitted signal and output this to, for example, a television. The functionality provided by set top boxes has improved in recent decades, and now certain functionality such as recording, multiple tuners, and access to on-demand content may be provided by the set top box.
A set top box with recording functionality may be called a digital video recorder (DVR). Television service transmission is typically digital, which is more efficient than analog transmission, and hence the received video is in a digital format lending itself well to digital video recording. A DVR may sometimes be referred to as a personal video recorder (PVR), but in this document DVR will be used. A DVR records video in a digital format to a disk drive, USB flash drive, SD memory card, SSD or other local mass storage device.
The television service operator must provide a set top box to every subscriber. This hardware represents a significant expense. Further, any maintenance cost incurred by this fleet of set top boxes is typically covered by the service provider. As such, a small reduction in the cost and complexity of a set top box can have a significant benefit to the service operator. To this end, some service operators have removed any mass storage capability from their set top boxes. Instead, DVR functionality is provided by a network DVR (also known as cloud DVR) system. In a network DVR, recorded content is not stored locally but at a server on the operator's network (in the cloud). When the user wishes to watch the recorded content it is streamed from the server to the user device over an internet connection.
An important technology for delivering video over an internet connection is adaptive bit rate (ABR) streaming. This technology allows for a variation in bandwidth which is typical for a home internet connection. This variation may be due to local contention with other devices and users in the home using the same modem connection for other purposes. A further cause for the variation in available bandwidth is local loop contention where the bandwidth between a plurality of modems in a neighborhood must be shared between a respective plurality of homes.
ABR streaming allows for a variation in bandwidth by measuring the available bandwidth between a streaming device and a server that is sending the streamed video, and providing the video stream at a bit rate that maximizes the use of the available bandwidth. To achieve this, a server that uses ABR will make the streamed video available at a plurality of different bit rates. The ABR streaming client in the streaming device then selects the appropriate bit rate version. The set of bit rates is normally fixed.
A network DVR system which delivers content using ABR streaming must store large volumes of video data, with multiple representations (at different bit rates) for each segment of content.
Just-in-time transcode (JITX) is a known technique which reduces the amount of storage required for a network DVR system. This is achieved by only storing the highest bit rate representation of the ABR content, and then deriving from this representation a lower bit rate representation by transcoding only when that representation is requested by a client.